<?php

namespace App\Http\Controllers;

use App\Utils\JWTHelper\JWTHelper;
use App\Utils\ResponseResult\JsonResult;
use Firebase\JWT\JWT;
use http\Client\Response;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

class TestController extends Controller
{
    //
    //get无参数
    public function getAll(): JsonResponse
    {
//        $token='eyJ0eXAiOiJKV1RIZWxwZXIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJsMTg4NTIxMzExMDFAMTYzLmNvbSIsImF1ZCI6ImNtczIxIiwiaWF0IjoxNzQwNjI1ODYzLCJuYmYiOjE3NDA2MjU4NjMsImV4cCI6MTc0MDYyMjI2MywiY3VzdG9tIjpbXX0.gibc2lcqxFQkz4JIxP_yIOq0KghrLlPJ9OPyjZQphAM';
        $data="hello wt";
        $decode=JWTHelper::verifyToken($data);
//        var_dump($decode);
        return JsonResult::success($data,"获取用户成功");
    }
    //get有参数
    public function get(Request $request): JsonResponse
    {
        // 有多少获取多少，以数组的格式返回，如果没有则返回空数组
//        $data=$request->all();
//        $token=JWTHelper::createToken($data);
        $token=JWTHelper::forgetToken();
        return response()->json([
            "data"=>$token,
            "message"=>"获取用户成功"
        ]);
    }
    //post大部分是需要参数的
    public function post(Request $request): JsonResponse
    {
        $id=$request->input("id");
        $name=$request->input("name");
        //处理数据
//        return response()->json([
//            "data"=>null,
//            "message"=>"新增用户成功"
//        ],201);
        return JsonResult::created(null,"新增用户成功");
    }
    //put大部分是需要参数的
    public function put(Request $request): JsonResponse
    {
        $id=$request->input("id");
        $name=$request->input("name");
        //处理数据
        return response()->json([
            "data"=>null,
            "message"=>"更新数据成功"
        ]);
//        return JsonResult::Put(null,"更新数据成功");
    }
    //delete部分是需要参数的
    public function delete(Request $request): JsonResponse
    {
        $id=$request->input("id");
        $name=$request->input("name");
        //处理数据
        return response()->json([
            "data"=>null,
            "message"=>"删除数据成功"
        ]);
    }
    public function unauthorized(Request $request): JsonResponse
    {
        $id=$request->input("id");
        $name=$request->input("name");
        //处理数据
//        return response()->json([
//            "data"=>null,
//            "message"=>"未授权"
//        ]);
        return JsonResult::unauthorized(null);
    }
}
